using System;
using System.Data;
using System.Configuration;
using System.Collections;
using System.Web;
using System.Web.Security;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Web.UI.WebControls.WebParts;
using System.Web.UI.HtmlControls;

public partial class Administrador_Monedas : System.Web.UI.Page
{
    protected void Page_Load(object sender, EventArgs e)
    {
        lb_errorEliminar.Visible = false;
    }

    protected void gvMonedas_RowCommand(object sender, GridViewCommandEventArgs e)
    {
        

        gv_monedas.SelectedIndex = Convert.ToInt32(e.CommandArgument);
        GridViewRow row = gv_monedas.SelectedRow;
        string descripcion = row.Cells[2].Text;
        int cod_moneda = Convert.ToInt32(gv_monedas.SelectedDataKey.Value);
        lb_codigo.Text = Convert.ToString(cod_moneda);
        long cotizacion = Convert.ToInt64(row.Cells[1].Text);

        if (e.CommandName == "editar")
        {
            tb_descripcion.Text = descripcion;
            tb_cotizacion.Text = Convert.ToString(cotizacion);
            imgbtnBuscar.Visible = false;
            imgbtnGuardar.Visible = false;
            imgbtnNuevo.Visible = false;
            imgbtnModificar.Visible = true;
        }
        if(e.CommandName == "Borrar"){
            try
            {
                Monedas.eliminarMoneda(cod_moneda);
                Auditoria.guardarEvento(Session["usuario"].ToString(), cod_moneda.ToString(), "-", "-", "Monedas", "Moneda");
                gv_monedas.DataBind();
            }
            catch
            {
                lb_errorEliminar.Visible = true;
            }

        }
    
    }
    protected void imgbtnBuscar_Click(object sender, ImageClickEventArgs e)
    {
        int num = 0;
        if (tb_descripcion.Text!= String.Empty)
        {
            buscarMoneda("descripcion", tb_descripcion.Text);
            num++;
        }
        if (tb_cotizacion.Text != String.Empty)
        {
            if (num == 0)
            {
                buscarMoneda("cotizacion", tb_cotizacion.Text);
                num++;
            }
            else
                sqlDS_monedas.SelectCommand += " and cotizacion=@coti";
            sqlDS_monedas.SelectParameters.Add("coti", TypeCode.Int32,  tb_cotizacion.Text);
            num++;
        }
    }
    protected void buscarMoneda(string cadena, string ingresado)
    {
        sqlDS_monedas.SelectParameters.Clear();
        sqlDS_monedas.SelectCommand = "select * from Monedas WHERE  " + cadena + " like @" + cadena;

        sqlDS_monedas.SelectParameters.Add(cadena, TypeCode.String, "%");
        sqlDS_monedas.SelectParameters[cadena].DefaultValue = ingresado + "%";

    }
    protected void imgbtnGuardar_Click(object sender, ImageClickEventArgs e)
    {
        Page.Validate("campoVacio");
        if (Page.IsValid)
        {
            int cotizacion = Convert.ToInt32(tb_cotizacion.Text);
            string moneda = tb_descripcion.Text;
            try
            {
                Monedas.guardarMoneda(cotizacion, moneda);
                Auditoria.guardarEvento(Session["usuario"].ToString(), cotizacion.ToString(), "-", "-", "Monedas", "Cotizacion");
                Auditoria.guardarEvento(Session["usuario"].ToString(), moneda, "-", "-", "Monedas", "Descricion");
                gv_monedas.DataBind();

            }
            catch (Exception error)
            {
                Response.Write("<SCRIPT language=\"javascript\"> window.alert(\"" + error.Message.ToString() + "\") </SCRIPT>");

            }
            tb_descripcion.Text = string.Empty;
            tb_cotizacion.Text = string.Empty;
        }

    }
    protected void imgbtnNuevo_Click(object sender, ImageClickEventArgs e)
    {
        imgbtnNuevo.Visible = false;
        imgbtnGuardar.Visible = true;
        imgbtnBuscar.Visible = false;
        
    }
    protected void imgbtnModificar_Click(object sender, ImageClickEventArgs e)
    {

        Page.Validate("campoVacio");
        if (Page.IsValid)
        {
            Monedas.modificarMoneda(Convert.ToInt32(lb_codigo.Text), Convert.ToInt64(tb_cotizacion.Text), tb_descripcion.Text);
            Auditoria.guardarEvento(Session["usuario"].ToString(), "-", tb_cotizacion.Text, "-", "Monedas", "Cotizacion");
            Auditoria.guardarEvento(Session["usuario"].ToString(), "-", tb_descripcion.Text, "-", "Monedas", "Descricion");
                
            
            tb_cotizacion.Text = string.Empty;
            tb_descripcion.Text = string.Empty;
            Response.Redirect("Monedas.aspx");

        }
        gv_monedas.DataBind();


    }
    protected void imgbtnCancelar_Click(object sender, ImageClickEventArgs e)
    {
         
        Response.Redirect("Monedas.aspx");


    }
}
